Rotating blade mechanism for cleaning cylindrical sensors

ABSTRACT

The subject disclosure relates to features that facilitate the automatic cleaning of optical sensors and in particular Light Detection and Ranging (LiDAR) sensors used in autonomous vehicle deployments. In some aspects, the disclosed technology includes a sensor cleaning apparatus having a housing, wherein the housing is configured to be rotatably coupled to an optical sensor, a wiper blade coupled to the housing, wherein the wiper blade is disposed at a downward angle relative to a top-surface of the optical sensor, and one or more nozzles disposed within the wiper blade, wherein the nozzles are configured to apply compressed gas to a surface of the optical sensor.

BACKGROUND 1. Technical Field

The subject technology provides solutions for maintaining sensorperformance and in particular, for cleaning cylindrical sensors mountedon autonomous vehicles (AVs).

2. Introduction

Autonomous vehicles (AVs) are vehicles having computers and controlsystems that perform driving and navigation tasks that areconventionally performed by a human driver. As AV technologies continueto advance, AVs will be required to perform many of the functions thatare conventionally performed by human drivers, such as performingnavigation and routing tasks necessary to provide a safe and efficientride service. Such tasks may require the collection and processing oflarge quantities of data using various sensor types, including but notlimited to cameras and/or Light Detection and Ranging (LiDAR) sensorsdisposed on the AV.

BRIEF DESCRIPTION OF THE DRAWINGS

Certain features of the subject technology are set forth in the appendedclaims. However, the accompanying drawings, which are included toprovide further understanding, illustrate disclosed aspects and togetherwith the description serve to explain the principles of the subjecttechnology. In the drawings:

FIG. 1 illustrates an example system environment that can be used tofacilitate AV navigation and routing operations, according to someaspects of the disclosed technology.

FIG. 2 illustrates an example of an autonomous vehicle (AV) environmentin which a sensor cleaning apparatus of the disclosed technology can beimplemented.

FIG. 3 illustrates an example of self-cleaning sensor, according to someaspects of the disclosed technology.

FIG. 4A illustrates steps of an example process for constructing aself-cleaning sensor, according to some aspects of the disclosedtechnology.

FIG. 4B illustrates steps of an example process for initiating a sensoroperation, according to some aspects of the disclosed technology.

FIG. 5 illustrates an example processor-based system with which someaspects of the subject technology can be implemented.

DETAILED DESCRIPTION

The detailed description set forth below is intended as a description ofvarious configurations of the subject technology and is not intended torepresent the only configurations in which the subject technology can bepracticed. The appended drawings are incorporated herein and constitutea part of the detailed description. The detailed description includesspecific details for the purpose of providing a more thoroughunderstanding of the subject technology. However, it will be clear andapparent that the subject technology is not limited to the specificdetails set forth herein and may be practiced without these details. Insome instances, structures and components are shown in block diagramform in order to avoid obscuring the concepts of the subject technology.

As described herein, one aspect of the present technology is thegathering and use of data available from various sources to improvequality and experience. The present disclosure contemplates that in someinstances, this gathered data may include personal information. Thepresent disclosure contemplates that the entities involved with suchpersonal information respect and value privacy policies and practices.

Autonomous vehicle (AV) sensors are needed to collect environmental dataand measurements needed for to vehicle navigation and routing decisions.However, in the course of operation, sensor efficacy can be degraded byenvironmental contaminants such as dirt or moisture. For example, LightDetection and Ranging (LiDAR) sensors operate best when their surfacesare free from optical obstructions, such as those caused by dust ormoisture.

The cleaning of optical surfaces poses many challenges. For example,fixed nozzle cleaning requires nozzles with high flow rates and/orpressures as cylindrical sensors, such as LiDAR sensors, that often havea large optical surfaces with wide fields of view. In addition,cylindrical sensors can sense in all directions, requiring numerous highflow nozzles to provide full, unobstructed, cleaning coverage. Suchrequirements mean that typically large pressure and flow raterequirements for the corresponding systems that provide compressed airand/or liquid (via nozzles,) making the cleaning solution overly costlyand complex.

Conventional wiper blade solutions are not ideal for AV purposes. Forexample, wiper blade solutions can cause excessive wear on opticalsurfaces compromising sensor performance. Wiper blades also have poorservice life and reliability. Additionally, linear/oscillating wipers donot work well on cylindrical surfaces. A straight (parallel to thecylinder axis) rotating wiper blade does not remove debris—it simplysmears it around the optical surface, resulting in poor image quality.

Aspects of the disclosed technology address the foregoing limitations ofconventional sensor cleaning solutions by providing a rotating(non-contacting) air-blade composed of one or more integrated nozzles.Because the wiper blade does not contact the sensor's optical surface,the smearing of debris and possible scratching delicate optical surfacesis avoided. Rotation of the wiper blade housing that contains the one ormore nozzles reduces the necessary nozzle count by scanning a singlenozzle (or integrated array) over a larger area. Additionally, the closeproximity between the nozzles and the optical surface serves to reduceflow demands, thereby improving cleaning efficacy.

Although the sensor cleaning solutions discussed herein make referenceto cylindrical sensors operated in an autonomous vehicle (AV) context,it is understood that other implementations are contemplated. Forexample, cylindrical sensors and the cleaning systems and methodsdisclosed herein may be deployed on non-autonomous vehicles, or onvehicles of various other types, (e.g., aircraft and/or watercraft,etc.), and/or in virtually any other context, without departing from thescope of the disclosed technology. As such, the disclosed examples areunderstood to be illustrative of some embodiments of the disclosedtechnology, but do not represent the only modes in which the technologymay be practiced.

FIG. 1 illustrates an example system environment 100 that can be used tofacilitate AV dispatch and operations, according to some aspects of thedisclosed technology. Autonomous vehicle 102 can navigate about roadwayswithout a human driver based upon sensor signals output by sensorsystems 104-106 of autonomous vehicle 102. Autonomous vehicle 102includes a plurality of sensor systems 104-106 (a first sensor system104 through an Nth sensor system 106). Sensor systems 104-106 are ofdifferent types and are arranged about the autonomous vehicle 102. Forexample, first sensor system 104 may be a camera sensor system and theNth sensor system 106 may be a Light Detection and Ranging (LIDAR)sensor system. Other exemplary sensor systems include radio detectionand ranging (RADAR) sensor systems, Electromagnetic Detection andRanging (EmDAR) sensor systems, Sound Navigation and Ranging (SONAR)sensor systems, Sound Detection and Ranging (SODAR) sensor systems,Global Navigation Satellite System (GNSS) receiver systems such asGlobal Positioning System (GPS) receiver systems, accelerometers,gyroscopes, inertial measurement units (IMU), infrared sensor systems,laser rangefinder systems, ultrasonic sensor systems, infrasonic sensorsystems, microphones, or a combination thereof. While four sensors 180are illustrated coupled to the autonomous vehicle 102, it is understoodthat more or fewer sensors may be coupled to the autonomous vehicle 102.

Autonomous vehicle 102 further includes several mechanical systems thatare used to effectuate appropriate motion of the autonomous vehicle 102.For instance, the mechanical systems can include but are not limited to,vehicle propulsion system 130, braking system 132, and steering system134. Vehicle propulsion system 130 may include an electric motor, aninternal combustion engine, or both. The braking system 132 can includean engine brake, brake pads, actuators, and/or any other suitablecomponentry that is configured to assist in decelerating autonomousvehicle 102. In some cases, braking system 132 may charge a battery ofthe vehicle through regenerative braking. Steering system 134 includessuitable componentry that is configured to control the direction ofmovement of the autonomous vehicle 102 during navigation. Autonomousvehicle 102 further includes a safety system 136 that can includevarious lights and signal indicators, parking brake, airbags, etc.Autonomous vehicle 102 further includes a cabin system 138 that caninclude cabin temperature control systems, in-cabin entertainmentsystems, etc.

Autonomous vehicle 102 additionally comprises an internal computingsystem 110 that is in communication with sensor systems 180 and systems130, 132, 134, 136, and 138. Internal computing system 110 includes atleast one processor and at least one memory having computer-executableinstructions that are executed by the processor. The computer-executableinstructions can make up one or more services responsible forcontrolling autonomous vehicle 102, communicating with remote computingsystem 150, receiving inputs from passengers or human co-pilots, loggingmetrics regarding data collected by sensor systems 180 and humanco-pilots, etc.

Internal computing system 110 can include a control service 112 that isconfigured to control operation of vehicle propulsion system 130,braking system 132, steering system 134, safety system 136, and cabinsystem 138. Control service 112 receives sensor signals from sensorsystems 180 as well communicates with other services of internalcomputing system 110 to effectuate operation of autonomous vehicle 102.In some embodiments, control service 112 may carry out operations inconcert one or more other systems of autonomous vehicle 102. Internalcomputing system 110 can also include constraint service 114 tofacilitate safe propulsion of autonomous vehicle 102. Constraint service116 includes instructions for activating a constraint based on arule-based restriction upon operation of autonomous vehicle 102. Forexample, the constraint may be a restriction upon navigation that isactivated in accordance with protocols configured to avoid occupying thesame space as other objects, abide by traffic laws, circumvent avoidanceareas, etc. In some embodiments, the constraint service can be part ofcontrol service 112.

The internal computing system 110 can also include communication service116. The communication service 116 can include both software andhardware elements for transmitting and receiving signals from/to theremote computing system 150. Communication service 116 is configured totransmit information wirelessly over a network, for example, through anantenna array that provides personal cellular (long-term evolution(LTE), 3G, 4G, 5G, etc.) communication.

Internal computing system 110 can also include latency service 118.Latency service 118 can utilize timestamps on communications to and fromremote computing system 150 to determine if a communication has beenreceived from the remote computing system 150 in time to be useful. Forexample, when a service of the internal computing system 110 requestsfeedback from remote computing system 150 on a time-sensitive process,the latency service 118 can determine if a response was timely receivedfrom remote computing system 150 as information can quickly become toostale to be actionable. When the latency service 118 determines that aresponse has not been received within a threshold, latency service 118can enable other systems of autonomous vehicle 102 or a passenger tomake necessary decisions or to provide the needed feedback.

Internal computing system 110 can also include a user interface service120 that can communicate with cabin system 138 in order to provideinformation or receive information to a human co-pilot or humanpassenger. In some embodiments, a human co-pilot or human passenger maybe required to evaluate and override a constraint from constraintservice 114, or the human co-pilot or human passenger may wish toprovide an instruction to the autonomous vehicle 102 regardingdestinations, requested routes, or other requested operations.

As described above, the remote computing system 150 is configured tosend/receive a signal from the autonomous vehicle 140 regardingreporting data for training and evaluating machine learning algorithms,requesting assistance from remote computing system 150 or a humanoperator via the remote computing system 150, software service updates,rideshare pickup and drop off instructions, etc.

Remote computing system 150 includes an analysis service 152 that isconfigured to receive data from autonomous vehicle 102 and analyze thedata to train or evaluate machine learning algorithms for operating theautonomous vehicle 102. The analysis service 152 can also performanalysis pertaining to data associated with one or more errors orconstraints reported by autonomous vehicle 102. Remote computing system150 can also include a user interface service 154 configured to presentmetrics, video, pictures, sounds reported from the autonomous vehicle102 to an operator of remote computing system 150. User interfaceservice 154 can further receive input instructions from an operator thatcan be sent to the autonomous vehicle 102.

Remote computing system 150 can also include an instruction service 156for sending instructions regarding the operation of the autonomousvehicle 102. For example, in response to an output of the analysisservice 152 or user interface service 154, instructions service 156 canprepare instructions to one or more services of the autonomous vehicle102 or a co-pilot or passenger of the autonomous vehicle 102. Remotecomputing system 150 can also include rideshare service 158 configuredto interact with ridesharing applications 170 operating on (potential)passenger computing devices. The rideshare service 158 can receiverequests to be picked up or dropped off from passenger ridesharing app170 and can dispatch autonomous vehicle 102 for the trip. The rideshareservice 158 can also act as an intermediary between the ridesharing app170 and the autonomous vehicle wherein a passenger might provideinstructions to the autonomous vehicle to 102 go around an obstacle,change routes, honk the horn, etc. Remote computing system 150 can, insome cases, include at least one computing system 150 as illustrated inor discussed with respect to FIG. 5, or may include at least a subset ofthe components illustrated in FIG. 5 or discussed with respect tocomputing system 150.

FIG. 2 illustrates an example of an autonomous vehicle (AV) environment200 in which a sensor cleaning apparatus of the disclosed technology canbe implemented. Environment 200 includes AV 202 that utilizescylindrical sensor 206. Data collected by sensor 206 during operation ofAV 202 can be processed by compute unit 204, for example, to enablenavigation and routing functions for AV 102 that are needed to provide aride service to one or more users/riders, e.g., rider 210. In someaspects, navigation and routing functions can also be facilitatedthrough signals provided by one or more remote systems (e.g. a dispatchsystem) using a wireless communication channel, for example, provided bya wireless access point 208.

In operation, sensor 206 can be an optical sensor, such as a LightDetection and Ranging (LiDAR) sensor that is configured to transmit andreceive light through an optical surface. During operation of sensor206, the optical surface may become occluded, for example, due to thesettling of dust, dirt, moisture, or other debris that can impede thetransmission of light. In some aspects, a self-cleaning sensor system ofthe disclosed technology can be deployed to clean/maintain the opticalsensor. Depending on the desired implementation, sensor cleaning may beperformed continuously, periodically, or performed at discrete times,for example, in response to specific indications that the sensor'soptical surface needs cleaning. Further details regarding the mechanicaloperation of a self-cleaning system are provided with respect to FIG. 3,below.

In particular, FIG. 3 illustrates an example of self-cleaning sensor300, according to some aspects of the disclosed technology. Sensor 300includes a cylindrical sensor 302 (e.g., a LiDAR sensor), a wiperhousing 304, and a wiper blade 306. As illustrated in the example ofFIG. 3, the wiper assembly includes a wiper blade 306 that is affixed tohousing 304 such that blade 306 is positioned in a downward angle withrespect to a top-surface of cylindrical sensor 302. As illustrated, thehousing 304 can be affixed to a top-surface of sensor 302, for example,so that the attachment point does not occlude an optical surface ofsensor 302. Although the example illustrated in FIG. 3 depicts aself-cleaning sensor 300 with a single blade 306, it is understood thattwo or more blades may be implemented, without departing from the scopeof the disclosed technology.

In operation, housing 304 is configured to rotate so that blade 306 isscanned over an optical surface of sensor 302. Depending on the desiredimplementation, blade 306 can be configured to contact optical surface302 or configured rotate about optical surface 302, without physicalcontact. Because sensor 302 may implement a light scanning operation,the angular speed of wiper 306 can be configured based on the sensor'sscanning rate so that wiper 306 does not obstruct sensor operation. Byway of example, sensor 302 can be a LiDAR sensor with a scanning rate ofapproximately 10 Hz. As such, the wiper assembly, i.e., wiper housing304 and blade 306, can also rotate about optical sensor 302 at afrequency of approximately 10 Hz. By matching the rotational frequencywhile placing wiper blade 306 away from the path of the underlyingscanning lasers (e.g., out of phase), sensor cleaning can be performedwithout interfering with operation of sensor 302. Depending on thedesired implementation, ensuring that wiper 306 does not obstruct sensoroperation can be performed in different ways. For example, housing 304may be affixed to the same driver/motor that controls the laser scanningof the LiDAR sensor, for example, such that the rotational speeds arematched. Alternatively, housing 304 may be controlled by a separatemotor that is calibrated to match the scanning rate of sensor 302. It isunderstood that different scanning rates for the sensor and/or wiperblade 306 may be used, without departing from the scope of the disclosedtechnology.

In some implementation, scanning of wiper blade 306 may not becontinuous. In such approaches, wiper blade 306, when stationary can bepositioned in an unused field of view (FOV) region of an optical surfaceof sensor 302. By way of example, placement of sensor 302 may be suchthat only a fraction of the radial view angle (e.g., 250 degrees) areused for scanning. As such, wiper blade 306 can be parked in the unusedportion of the FOV of sensor 302.

Removal of dirt, moisture and/or other debris, etc., from an opticalsurface of sensor 302 is facilitated by the use of one or more nozzles308 that are disposed within wiper blade 306. In some approaches,nozzles 308 are configured to apply compressed gas (air) to the opticalsurface. Because the nozzles are arranged in a helical array that pointsin a downward direction relative to the top-surface of sensor 302,debris is pushed down without smearing the optical surface.Additionally, by placing nozzles 308 in close proximity to, but withoutcontact with, the optical surface, the flow rate of the compressed gascan be reduced as opposed to cleaning nozzles that are disposed at agreater distance. Additionally, by rotating/scanning nozzles 308 aroundthe optical surface via rotation of wiper blade 306, fewer nozzles maybe implemented for example, relative to fixed-array implementations,while still providing an effective sensor cleaning solution.

In other aspects, nozzles 308 can be configured to apply a liquidcleaning agent, such as water or a solvent-based cleaning fluid (e.g.,ethanol or methanol, etc.), to a surface of the optical sensor.Additionally, in some implementations, the leading edge of wiper blade306 may be configured to contact the optical surface of the sensor,thereby providing mechanical force to facilitate the clearance ofdebris.

FIG. 4A illustrates steps of an example process 400 for constructing aself-cleaning sensor, according to some aspects of the disclosedtechnology. Process 400 begins with step 402 in which a cleaningapparatus housing (wiper housing) is coupled to a cylindrical sensor. Insome aspects, the cylindrical sensor may be an optical sensor, such as aLiDAR sensor. However, other types of cylindrical sensors arecontemplated, without departing from the scope of the disclosedtechnology.

Coupling between the cleaning apparatus housing and the cylindricalsensor can be based on the sensor design. For example, the wiper housingmay be affixed to a top surface of the cylindrical sensor, or a bottomsurface, depending on the desired implementation. Once coupled to thecylindrical sensor, the wiper housing is configured to be rotated abouta surface (e.g., an optical surface) of the cylindrical sensor. Asdiscussed above, rotation of the housing may be controlled by the samemotor/driver that controls laser scanning of the cylindrical sensor, forexample, in LiDAR implementations.

In step 404, a wiper blade is coupled to the housing. As discussed abovewith respect to FIG. 3, the wiper blade can be configured to be disposedat a downward angle relative to a top-surface of the cylindricalsensor/sensor housing. As such, a leading edge of the wiper blade, whenrotated, is designed to push in a downward direction with respect to theoptical surface of the cylindrical sensor.

In step 406, one or more nozzles are disposed within the wiper blade.Further to the example illustrated in FIG. 3, the nozzles can be fixedin a helical arrangement. In some aspects, the nozzles can be configuredto apply compressed gas to a surface (e.g., an optical surface) of thecylindrical sensor. In other implementations, the nozzles may beconfigured to apply a liquid, such as water or another cleaning agent.It is understood that different numbers of nozzles may be implemented inthe wiper blade, without departing from the scope of the disclosedtechnology.

FIG. 4B illustrates steps of an example process 401 for initiating an AVsensor cleaning operation, according to some aspects of the disclosedtechnology. Process 401 begins with step 408, in which normal AV drivingis commenced. Next, at step 410, it is determined whether AV service isrequired. If AV service is required, process 401 advances to step 412,and sensor cleaning is performed, for example, in conjunction with theneeded AV servicing. For example, sensor cleaning may be performedmanually at a depot, e.g., as part of routine AV maintenance.Alternatively, if no service is required in step 410, process 401advances to step 414 in which it is determined if a time valueassociated with the cleaning timer has elapsed and/or if inclementweather is present. In some implementations, sensor cleaning may beperformed at pre-determined time intervals counted by the cleaningtimer. As such, sensor cleaning can be performed at regular intervals,based on the cleaning timer configuration. In such approaches, process401 advances to step 416 and sensor cleaning is performed. Process 401then reverts back to step 408 in which normal driving is commenced.

If at step 414 it is determined that inclement weather is present, forexample, in which the sensor/s may be exposed to dirt, debris, and/ormoisture that could affect operation, then process 401 proceeds to step416 and sensor cleaning is performed. Depending on the desiredimplementation, weather or sensor debris may be detected using one ormore of the AV's environmental sensors, or may be identified using datareceived from a remote source, such as a third-party weather reportingservice.

FIG. 5 illustrates an example processor-based system with which someaspects of the subject technology can be implemented. For example,processor-based system 500 that can be any computing device making upinternal computing system 110, remote computing system 150, a passengerdevice executing the rideshare app 170, internal computing device 130,or any component thereof in which the components of the system are incommunication with each other using connection 505. Connection 505 canbe a physical connection via a bus, or a direct connection intoprocessor 510, such as in a chipset architecture. Connection 505 canalso be a virtual connection, networked connection, or logicalconnection.

In some embodiments, computing system 500 is a distributed system inwhich the functions described in this disclosure can be distributedwithin a datacenter, multiple data centers, a peer network, etc. In someembodiments, one or more of the described system components representsmany such components each performing some or all of the function forwhich the component is described. In some embodiments, the componentscan be physical or virtual devices.

Example system 500 includes at least one processing unit (CPU orprocessor) 510 and connection 505 that couples various system componentsincluding system memory 515, such as read-only memory (ROM) 520 andrandom-access memory (RAM) 525 to processor 510. Computing system 500can include a cache of high-speed memory 512 connected directly with, inclose proximity to, and/or integrated as part of processor 510.

Processor 510 can include any general-purpose processor and a hardwareservice or software service, such as services 532, 534, and 536 storedin storage device 530, configured to control processor 510 as well as aspecial-purpose processor where software instructions are incorporatedinto the actual processor design. Processor 510 may essentially be acompletely self-contained computing system, containing multiple cores orprocessors, a bus, memory controller, cache, etc. A multi-core processormay be symmetric or asymmetric.

To enable user interaction, computing system 500 includes an inputdevice 545, which can represent any number of input mechanisms, such asa microphone for speech, a touch-sensitive screen for gesture orgraphical input, keyboard, mouse, motion input, speech, etc. Computingsystem 500 can also include output device 535, which can be one or moreof a number of output mechanisms known to those of skill in the art. Insome instances, multimodal systems can enable a user to provide multipletypes of input/output to communicate with computing system 500.Computing system 500 can include communications interface 540, which cangenerally govern and manage the user input and system output. Thecommunication interface may perform or facilitate receipt and/ortransmission wired or wireless communications via wired and/or wirelesstransceivers, including those making use of an audio jack/plug, amicrophone jack/plug, a universal serial bus (USB) port/plug, an Apple®Lightning® port/plug, an Ethernet port/plug, a fiber optic port/plug, aproprietary wired port/plug, a BLUETOOTH® wireless signal transfer, aBLUETOOTH® low energy (BLE) wireless signal transfer, an IBEACON®wireless signal transfer, a radio-frequency identification (RFID)wireless signal transfer, near-field communications (NFC) wirelesssignal transfer, dedicated short range communication (DSRC) wirelesssignal transfer, 802.11 Wi-Fi wireless signal transfer, wireless localarea network (WLAN) signal transfer, Visible Light Communication (VLC),Worldwide Interoperability for Microwave Access (WiMAX), Infrared (IR)communication wireless signal transfer, Public Switched TelephoneNetwork (PSTN) signal transfer, Integrated Services Digital Network(ISDN) signal transfer, 3G/4G/5G/LTE cellular data network wirelesssignal transfer, ad-hoc network signal transfer, radio wave signaltransfer, microwave signal transfer, infrared signal transfer, visiblelight signal transfer, ultraviolet light signal transfer, wirelesssignal transfer along the electromagnetic spectrum, or some combinationthereof.

Communications interface 540 may also include one or more GlobalNavigation Satellite System (GNSS) receivers or transceivers that areused to determine a location of the computing system 500 based onreceipt of one or more signals from one or more satellites associatedwith one or more GNSS systems. GNSS systems include, but are not limitedto, the US-based Global Positioning System (GPS), the Russia-basedGlobal Navigation Satellite System (GLONASS), the China-based BeiDouNavigation Satellite System (BDS), and the Europe-based Galileo GNSS.There is no restriction on operating on any particular hardwarearrangement, and therefore the basic features here may easily besubstituted for improved hardware or firmware arrangements as they aredeveloped.

Storage device 530 can be a non-volatile and/or non-transitorycomputer-readable memory device and can be a hard disk or other types ofcomputer readable media which can store data that are accessible by acomputer, such as magnetic cassettes, flash memory cards, solid statememory devices, digital versatile disks, cartridges, a floppy disk, aflexible disk, a hard disk, magnetic tape, a magnetic strip/stripe, anyother magnetic storage medium, flash memory, memristor memory, any othersolid-state memory, a compact disc read only memory (CD-ROM) opticaldisc, a rewritable compact disc (CD) optical disc, digital video disk(DVD) optical disc, a blu-ray disc (BDD) optical disc, a holographicoptical disk, another optical medium, a secure digital (SD) card, amicro secure digital (microSD) card, a Memory Stick® card, a smartcardchip, a EMV chip, a subscriber identity module (SIM) card, amini/micro/nano/pico SIM card, another integrated circuit (IC)chip/card, random access memory (RAM), static RAM (SRAM), dynamic RAM(DRAM), read-only memory (ROM), programmable read-only memory (PROM),erasable programmable read-only memory (EPROM), electrically erasableprogrammable read-only memory (EEPROM), flash EPROM (FLASHEPROM), cachememory (L1/L2/L3/L4/L5/L#), resistive random-access memory (RRAM/ReRAM),phase change memory (PCM), spin transfer torque RAM (STT-RAM), anothermemory chip or cartridge, and/or a combination thereof.

Storage device 530 can include software services, servers, services,etc., that when the code that defines such software is executed by theprocessor 510, it causes the system to perform a function. In someembodiments, a hardware service that performs a particular function caninclude the software component stored in a computer-readable medium inconnection with the necessary hardware components, such as processor510, connection 505, output device 535, etc., to carry out the function.

As understood by those of skill in the art, machine-learning basedclassification techniques can vary depending on the desiredimplementation. For example, machine-learning classification schemes canutilize one or more of the following, alone or in combination: hiddenMarkov models; recurrent neural networks; convolutional neural networks(CNNs); deep learning; Bayesian symbolic methods; general adversarialnetworks (GANs); support vector machines; image registration methods;applicable rule-based system. Where regression algorithms are used, theymay include including but are not limited to: a Stochastic GradientDescent Regressor, and/or a Passive Aggressive Regressor, etc.

Machine learning classification models can also be based on clusteringalgorithms (e.g., a Mini-batch K-means clustering algorithm), arecommendation algorithm (e.g., a Miniwise Hashing algorithm, orEuclidean Locality-Sensitive Hashing (LSH) algorithm), and/or an anomalydetection algorithm, such as a Local outlier factor. Additionally,machine-learning models can employ a dimensionality reduction approach,such as, one or more of: a Mini-batch Dictionary Learning algorithm, anIncremental Principal Component Analysis (PCA) algorithm, a LatentDirichlet Allocation algorithm, and/or a Mini-batch K-means algorithm,etc.

Embodiments within the scope of the present disclosure may also includetangible and/or non-transitory computer-readable storage media ordevices for carrying or having computer-executable instructions or datastructures stored thereon. Such tangible computer-readable storagedevices can be any available device that can be accessed by a generalpurpose or special purpose computer, including the functional design ofany special purpose processor as described above. By way of example, andnot limitation, such tangible computer-readable devices can include RAM,ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storageor other magnetic storage devices, or any other device which can be usedto carry or store desired program code in the form ofcomputer-executable instructions, data structures, or processor chipdesign. When information or instructions are provided via a network oranother communications connection (either hardwired, wireless, orcombination thereof) to a computer, the computer properly views theconnection as a computer-readable medium. Thus, any such connection isproperly termed a computer-readable medium. Combinations of the aboveshould also be included within the scope of the computer-readablestorage devices.

Computer-executable instructions include, for example, instructions anddata which cause a general purpose computer, special purpose computer,or special purpose processing device to perform a certain function orgroup of functions. By way of example computer-executable instructionscan be used to implement perception system functionality for determiningwhen sensor cleaning operations are needed or should begin.Computer-executable instructions also include program modules that areexecuted by computers in stand-alone or network environments. Generally,program modules include routines, programs, components, data structures,objects, and the functions inherent in the design of special-purposeprocessors, etc. that perform tasks or implement abstract data types.Computer-executable instructions, associated data structures, andprogram modules represent examples of the program code means forexecuting steps of the methods disclosed herein. The particular sequenceof such executable instructions or associated data structures representsexamples of corresponding acts for implementing the functions describedin such steps.

Other embodiments of the disclosure may be practiced in networkcomputing environments with many types of computer systemconfigurations, including personal computers, hand-held devices,multi-processor systems, microprocessor-based or programmable consumerelectronics, network PCs, minicomputers, mainframe computers, and thelike. Embodiments may also be practiced in distributed computingenvironments where tasks are performed by local and remote processingdevices that are linked (either by hardwired links, wireless links, orby a combination thereof) through a communications network. In adistributed computing environment, program modules can be located inboth local and remote memory storage devices.

The various embodiments described above are provided by way ofillustration only and should not be construed to limit the scope of thedisclosure. For example, the principles herein apply equally tooptimization as well as general improvements. Various modifications andchanges may be made to the principles described herein without followingthe example embodiments and applications illustrated and describedherein, and without departing from the spirit and scope of thedisclosure. Claim language reciting “at least one of” a set indicatesthat one member of the set or multiple members of the set satisfy theclaim.

1. A sensor cleaning apparatus, comprising: a housing, wherein thehousing is configured to be rotatably coupled to an optical sensor; awiper blade coupled to the housing, wherein the wiper blade is disposedat a downward angle relative to a top-surface of the optical sensor; andone or more nozzles disposed within the wiper blade and arranged in ahelical array that points in a downward direction relative to thetop-surface of the optical sensor, wherein the one or more nozzles areconfigured to apply compressed gas to a surface of the optical sensor.2. The sensor cleaning apparatus of claim 1, wherein the wiper blade isconfigured to rotate at a substantially similar rotational frequency ofthe optical sensor.
 3. The sensor cleaning apparatus of claim 1, whereinthe wiper blade is configured to rotate at approximately 10 Hz.
 4. Thesensor cleaning apparatus of claim 1, wherein the optical sensor is aLight Detection and Ranging (LiDAR) sensor.
 5. The sensor cleaningapparatus of claim 1, wherein the wiper blade is configured to rotateabove the surface of the optical sensor without contacting the surfaceof the optical sensor.
 6. The sensor cleaning apparatus of claim 1,wherein the wiper blade is configured to contact the surface of theoptical sensor.
 7. The sensor cleaning apparatus of claim 1, wherein theoptical sensor is a cylindrical sensor.
 8. An autonomous vehicle (AV),comprising: at least one self-cleaning sensor, wherein the at least oneself-cleaning sensor comprises: an optical sensor; a wiper housing,wherein the wiper housing is rotatably coupled to the optical sensor; awiper blade coupled to the wiper housing, wherein the wiper blade isdisposed at a downward angle relative to a top-surface of the opticalsensor; and one or more nozzles disposed within the wiper blade andarranged in a helical array that points in a downward direction relativeto the top-surface of the optical sensor, wherein the one or morenozzles are configured to apply compressed gas to a surface of theoptical sensor.
 9. The AV of claim 8, wherein the at least oneself-cleaning sensor further comprises a first motor configured torotate the optical sensor, and a second motor configured to rotate thewiper blade at a substantially similar rotational frequency of theoptical sensor.
 10. The AV of claim 8, wherein the wiper blade isconfigured to rotate at a substantially similar rotational frequency ofthe optical sensor.
 11. The AV of claim 8, wherein the wiper blade isconfigured to rotate at approximately 10 Hz.
 12. The AV of claim 8,wherein the optical sensor is a Light Detection and Ranging (LiDAR)sensor.
 13. The AV of claim 8, wherein the wiper blade is configured torotate above the surface of the optical sensor without contacting thesurface of the optical sensor.
 14. The AV of claim 8, wherein the wiperblade is configured to contact the surface of the optical sensor. 15.The AV of claim 8, wherein the optical sensor is a cylindrical sensor.16. A method of constructing a self-cleaning sensor, the methodcomprising: coupling a wiper housing to an optical sensor, wherein thewiper housing is configured to rotate about a surface of the opticalsensor; coupling a wiper blade to the wiper housing, wherein the wiperblade is disposed at a downward angle relative to a top-surface of theoptical sensor; and disposing one or more nozzles within the wiperblade, wherein the one or more nozzles are configured to applycompressed gas to the surface of the optical sensor, and wherein the oneor more nozzles are arranged in a helical array that points in adownward direction relative to the top-surface of the optical sensor.17. The method of claim 16, wherein the wiper blade is configured torotate at a substantially similar rotational frequency as the opticalsensor.
 18. The method of claim 16, wherein the wiper blade isconfigured to rotate at approximately 10 Hz.
 19. The method of claim 16,wherein the optical sensor is a Light Detection and Ranging (LiDAR)sensor, and wherein coupling the wiper housing to the optical sensorcomprising affixing the wiper housing to the top-surface of the opticalsensor.
 20. The method of claim 16, wherein the wiper blade isconfigured to rotate above the surface of the optical sensor withoutcontacting the surface of the optical sensor.